251. GCE上的docker監控
WHY
之前因為架構關係,建了幾個在GCE上的docker服務。
外層主機可以透過GCP的metric監控,
但裡面的docker就不知道了。
Solution
查了一下,
把cAdvisor裝起來就好了。
這是一個專門用在監控VM主機上的docker。
cAdvisor
docker-compose.yaml
services:
cadvisor:
container_name: cadvisor
image: gcr.io/cadvisor/cadvisor:latest
pull_policy: if_not_present
restart: always
privileged: true
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
- /dev/disk/:/dev/disk:ro
ports:
- 8888:8080
networks:
- zlm_network
networks:
zlm_network:
name: zlm_network
driver: bridge
記得改用 gcr.io/cadvisor/cadvisor:latest
如果你查到的文章有人用 google/cadvisor:latest
這種在建制時會發生錯誤
Failed to create a Container Manager: mountpoint for cpu not found
架好後,可使用下面方法測試
curl http://127.0.0.1:8888/metrics
prometheus
要建一個新的或是拿舊的套用都可以。
重點是config,
因我的prometheus掛在GKE上面,
所以直接讓prometheus去取得GCE的metrics。
- job_name: 'game-result-stage'
scrape_interval: 15s
static_configs:
- targets:
- '<ip>:8888'
Grafana
可直接匯入 11600 這個dashboard。
ref.